﻿Imports extranet.BE
Imports extranet.DA

Public Class BCGrupoAcesso

  Public Shared Sub Cadastrar(ByVal grupoAcesso As BEGrupoAcesso)
    Dim objDAGrupoAcesso As New DAGrupoAcesso
    objDAGrupoAcesso.Cadastra(grupoAcesso)
  End Sub

  Public Shared Sub Atualizar(ByVal grupoAcesso As BEGrupoAcesso)
    Dim objDAGrupoAcesso As New DAGrupoAcesso
    objDAGrupoAcesso.Atualiza(grupoAcesso)
  End Sub

  Public Shared Sub Excluir(ByVal grupoAcesso As BEGrupoAcesso)
    Dim objDAGrupoAcesso As New DAGrupoAcesso
    objDAGrupoAcesso.Exclui(grupoAcesso)
  End Sub

  Public Shared Function Selecionar(ByVal strGrupo As String) As BEGrupoAcesso
    Dim objDAGrupoAcesso As New DAGrupoAcesso()
    Dim objBEGrupoAcesso As New BEGrupoAcesso()
    Dim objBEGruposAcesso As IList(Of BEGrupoAcesso)

    objBEGruposAcesso = objDAGrupoAcesso.Seleciona(New BEGrupoAcesso(strGrupo))
    If objBEGruposAcesso IsNot Nothing And objBEGruposAcesso.Count > 0 Then objBEGrupoAcesso = objBEGruposAcesso(0)

    Return objBEGrupoAcesso
  End Function

  Public Shared Function Selecionar() As List(Of BEGrupoAcesso)
    Dim objDAGrupoAcesso As New DAGrupoAcesso
    Return objDAGrupoAcesso.Seleciona(New BEGrupoAcesso())
  End Function

  Public Shared Function Selecionar(ByVal intIdGrupo As Integer) As List(Of BEGrupoAcesso)
    Dim objDAGrupoAcesso As New DAGrupoAcesso
    Return objDAGrupoAcesso.Seleciona(New BEGrupoAcesso(intIdGrupo, Nothing, Nothing))
  End Function

  Public Shared Function Selecionar(ByVal strGrupoAcesso As String, ByVal sortExpression As String, ByVal sortDirection As String) As List(Of BEGrupoAcesso)
    Dim objDAGrupoAcesso As New DAGrupoAcesso
    objDAGrupoAcesso.objQuery.Sort = New BESort(sortExpression, sortDirection)
    Return objDAGrupoAcesso.Seleciona(New BEGrupoAcesso(strGrupoAcesso))
  End Function

  Public Shared Function SelecionaPelaTela(ByVal intIdTela As Integer) As List(Of BEGrupoAcesso)
    Dim objDAGrupoAcesso As New DAGrupoAcesso
    Dim objBEGruposAcesso As List(Of BEGrupoAcesso) = objDAGrupoAcesso.SelecionaPelaTela(intIdTela)
    For Each objBEGrupoAcesso As BEGrupoAcesso In objBEGruposAcesso
      objDAGrupoAcesso.SelecionaPermissoes(objBEGrupoAcesso, intIdTela)
    Next
    Return objBEGruposAcesso
  End Function

End Class
